package org.example.springblog.mapper;

import org.apache.ibatis.annotations.*;
import org.example.springblog.model.BlogInfo;

import java.util.List;

@Mapper
public interface BlogInfoMapper {
    //获取博客列表
    @Select("select * from  blog where delete_flag = 0 order by create_time desc")
    List<BlogInfo> queryBlogList();
    //根据博客ID，获取博客详情
    @Select("select * from blog where id =#{id} and delete_flag=0")
    BlogInfo queryById(Integer id);
    //编辑博客
    @Update("update blog set title =#{title},content=#{content} where id =#{id} and user_id=#{userId}")
    Integer updateBlog(BlogInfo blogInfo);
    //删除博客
    @Update("update blog set delete_flag = 1 where id =#{id}")
    Integer deleteBlog(Integer id);
    //添加博客
    @Insert("insert into blog(title,content,user_id)values(#{title},#{content},#{userId}) ")
    Integer insertBlog(BlogInfo blogInfo);

    //根据博客ID，获取博客作者，以便于删除时校验用户和作者是否一致
    @Select("select user_id from blog where id =#{id} and delete_flag=0")
    Integer queryUserId(Integer id);
}
